Міністерство освіти та науки України
Національний університет
«Львівська політехніка»
EMBED Word.Picture.8
РОЗРАХУНКОВА РОБОТА №1
З дисципліни : Алгоритмізація і програмування.
Визначення зміни в часі температури металевої заготовки при нагріванні в печі.
Варіант №1
Виконав:
ст. гр. АВ-1
Перевірив:
Львів-2008 р.
Завдання : Залежність, якою описують процес випаровування води із вільної поверхні посудини в акритому приміщенні об’ємом V має вигляд:
mt=m0-V*q*(1-e-k τ/V)
де m0 i mt- відповідно початкова і залишкова маса води в посудині; q- маса водяної пари яку може увібрати 1 м3 повітря приміщення, τ- час. Знйти об’єм приміщення якщо залилося
1а ) 78г. води за час τ =165xв. , m0=80 г. ;q=13.5 г/m3 ; коефіцієнт к=9*10-4 м3/хв
Розв’язання
Зведемо задане рівняння до вигляду :
f(v)=V*q*(1-e-k τ/V)+ mt-m0
підставивши значення q, mt,m0,к, τ, отримаємо:
f(v)= V*14*(1-e-0,286/V)-4
Виділимо корінь (знайдемо інтервал, в якому знаходиться корінь) заданого рівняння шляхом табулювання f(t):
Програма табулювання функції мовою С
Результати табулювання функції в середовищі ТС
Програма табулювання функцій f(V) в середовищі MATLAB
Результати виконання програми середовищі MATLAB
z =
31.287888322744607
Графік табулювання функції f(t) в середовищі MATLAB
Рис1. Графік функції y=f(V)
Висновок : в результаті табулювання функції і побудови графіка видно, що корінь нелінійного рівняння знаходиться на інтервалі [31;32 ].
Метод половинного ділення
Формула методу: vi=(ai-1+bi-1);
vi=ai-1; bi=bi-1 коли f(a)*f(vi)>0; vi=bi-1; ai=ai-1 коли f(a)*fvi)<0
Умова виходу: │ ai - bi │<ε
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
v0=(a+b)/2
f(a)*f(v0)>0
a=v0
b=v0
ні
так
|a-b|>ε
так
ні
Друк v0, ε, i
КІНЕЦЬ
a=31;b=32;i=0;
ε=10-6; ε<=10-4
Δε= ε*10 ε=10ε<=10-4
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
2) Mетод простих ітерацій
У цьому методі рівняння f(t) замінюється еквівалентним йому рівнянням v=φ(v).
φ(v)=v-f(v)/p;
|p|>Q/2; Q=max|f’(v)|.
[a;b]
Умова виходу :
|xn-xn+1|<ε*(1-q)/q; q=max|φ’(v)|.
[a;b]
Умова збіжності:
|φ’(v)|<q<1.
p =58
q = 0.8275862
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
v=v0–f(v0)/780
|v-v0|>ε*(1-q)/q
i=i+1
v0=v
так
ні
Друк v0, ε, i
КІНЕЦЬ
ВВІД v0, q
ε=10-6; ε<=10-4
Δε= ε*10 ε=10ε<=10-4
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
3) Метод хорд
Умови застосування методу:
f’(v), f’(v), f’’(v)- неперервні на [a;b]
f’(v)≠0 та f’’(v)≠0 на [a;b]– видно з рис2 та рис3.
Формула методу:
v=v0-f(v0)*((v0-vf)/(f(v0)-f(vf)));
Умова виходу з ітераційного процесу:
|v-v0|<ε*m/(M-m),
де M=max|f’(v)|= 115, m=min|f’(v)|=49,
[a;b] [a;b]
Вибір нульового наближення та фіксованої точки:
v=(b-a)/2;
f(a)*f(v)>0 то v0=a; vf=b;
f(a)*f(v)<0 то v0=b; vf=a;
Блок-схема алгоритму
SHAPE \* MERGEFORMAT ПОЧАТОК
a=31,b=32,M=115,m=49
ε=10-6; ε<=10-4
v=(b-a)/2; і=0
f(a)*f(v)>0
v0=a; vf=b;
v0=b; vf=a;
v=v0-(f(v0)*(v0-vf))/(f(v0)-f(vf));
|v-v0|>ε*m/(M-m)
так
ні
v0=v
Друк v, ε, i
Δε= ε*10 ε=10ε<=10-4
КІНЕЦЬ
i=i+1
так
ні
Програма мовою С
Результат виконання програми
Наближення кореня в середовищі MATLAB
Результат виконання програми
4) Метод дотичних (Метод Ньютона)
Вибираємо початкове наближення так, щоб виконувалась умова f(v0)* f''(v0)>0.
Умови застосування методу:
f’(v), f’(v), f’’(v)- неперервні на [a;b]
f’(v)≠0 та f’’(v)≠0 на [a;b].
Формула методу:
v=v0-f(v0)/f’(v0);
Умова виходу :
|v-v0|< √(2*m* ε /M)
де M=max|f’’(v)|= 565, m=min|f’(v)|=49,
[a;b] [a;b]
Вибір нульового наближення:
f'(a)*f’’(...